package com.dev.springBootDemo;

import java.util.Arrays;
import java.util.function.Consumer;

/**
 * @author zhumq
 * @date 2024/7/30 22:27
 */
public class ConsumerDemo2 {
  
    public static void main(String[] args) {
        String[] strArray = {"张三,30", "李四,21", "王五,18"};
        // 使用operatorString方法处理字符串数组，分别输出原字符串和分割后的数组
        operatorString(strArray, (s) -> System.out.println(s), (s) -> System.out.println(Arrays.toString(s.split(","))));
    }
    
    /**
     * 对字符串数组中的每个元素应用两个消费者操作：首先执行第一个消费者，然后执行第二个消费者。
     *
     * @param strArray 字符串数组
     * @param con1     第一个字符串消费者
     * @param con2     第二个字符串消费者
     */
    public static void operatorString(String[] strArray, Consumer<String> con1, Consumer<String> con2) {
        for (String str : strArray) {
            // 通过andThen方法将两个消费者串联起来，形成一个消费链
            con1.andThen(con2).accept(str);
        }
    }
    // 张三,30
    // [张三, 30]
    // 李四,21
    // [李四, 21]
    // 王五,18
    // [王五, 18]
}